【レポート】『ゼルダの伝説 ティアーズ オブ ザ キングダム』の世界をつなぐ技術 ~空、地上、地底、そして制作もシームレスに~ #CEDEC2024 #classmethod_game
こんにちは。ゲームソリューション部の出村です。
CEDEC2024で講演された「『ゼルダの伝説 ティアーズ オブ ザ キングダム』の世界をつなぐ技術 ~空、地上、地底、そして制作もシームレスに~」というセッションの概要をお伝えします。ここでは、洞窟システムを中心に解説をしていきます。
セッション内容
『ゼルダの伝説 ティアーズ オブ ザ キングダム』の世界をつなぐ技術 ~空、地上、地底、そして制作もシームレスに~
『ゼルダの伝説 ティアーズ オブ ザ キングダム』には、地上フィールドに加え、空世界や洞窟、地底世界があります。
本セッションでは、どのようにこのゲーム世界をシームレスにつないできたのかを技術的な観点から紹介します。
さらに、私たちは、この広大なフィールドを作り上げるにあたり、制作自体もシームレスに進めたいと考えました。
そのために、どのようなワークフローや開発ツールなどを用いてきたのか、その事例を紹介したいと思います。
内容について
ゼルダの伝説 ティアーズ オブ ザ キングダムでは、空、地上、地底をシームレスにつながっている世界を作りたいと考えました。ただ、それは大きな技術課題がありました。それらの技術課題に対してどのように取り組んだのかについて解説します。
前作でのブレスオブザワイルドでは、表現したい内容を実現することを目的として技術選定を行いました。
そのうち、広大な世界やシームレスな世界を実現するため、どのようなデータ形式で持てばよいのか、どのタイミングでデータをロードするとよいのか、などを決めるためのきっかけが必要でした。
技術選定は、できないこと・しないことを決める事にもなります。デファードレンダリングを採用することにより、マテリアル表現の多様性や柔軟性をもたせることができなくなる、といった事です。それらできないことは、プログラマのみならず、アーティストなどチーム全体で共有する必要があります。
これをマップに当てはめると、できないこととしては、三次元の立体構造が実現できないことになります。ゼルダの伝説ブレスオブザワイルドでは、壁を登ったり三次元の動きもできましたが、基本的なデータ構造としては2次元で構成されていました。
ゼルダの伝説 ティアーズオブザキングダムはブレストの段階で、地底、地上、空中の縦方向で検討されていました。つまり二次元から三次元が実装されていることが求められていました。そのため、技術課題としては二次元から三次元への広がりをどのように実装するかを検討する必要がありました。
では、どのように実装したのかについて解説していきます。ティアーズオブザキングダムでは、どのように実装したのかについて解説していきます。本作では、前作で開発されたものに加えてメッシュベースのLoD+ストリーミングのシステムを開発しました。これは洞窟システムと呼ばれるものとなっています。
洞窟システムは、洞窟を作成する専用エディタ、そのデータをゲームで利用するためのコンバートツール、そして生成されたデータをゲーム側で処理する仕組みで成り立っています。エディタでは、大まかな形状の編集などができます。そして、コンバートツールを使ってゲームで利用できる形式に変換します。ゲームでは、コンバート後のデータを利用して表示が行われます。
洞窟システムは、メッシュベースのLoD(=Level of Detail)とデータストリーミングから成り立っています。これにより、近くの表示物は荒く表示され、遠くの表示物は荒く表示されます。また、メッシュベースのLoDとデータストリーミングをおこなっているため、LoDで切り替える境目はシームレスとなっています。
(補足)このようなLoDを用いたゲームでは、レベル(距離)にあわせて、3Dモデルを差し替える処理が行われる事もありますが、その場合は3Dモデルが差し替わった瞬間が見えてしまうなど違和感を覚える事が珍しくありません。今回のようなメッシュベースだとLoDの段階がほぼ無限になるため、そのような違和感がなく表示されます。
メッシュベースのLoDですので、ほぼ無限段階のLoDが設定できます。メッシュベースなので複数ある頂点を特定の頂点に集約する設計することでLoDを実現しています。この集約される頂点は、法線の向きによって決められていることの解説がありました。
このように作成された洞窟システムですが、遊びの幅を広げるのにも役立っています。
洞窟システムの情報をつかって地底世界を試作してみたところ、より深い遊びができるようになりました。
洞窟システムは、地底だけではなく空島の制作にも利用されました。洞窟と空島との違いは、3Dデータの法線の向きが逆になっているだけです。そのため対応はさほど難しいものではありませんでした。また、LoDやデータストリーミングの仕組みも、空島でもそのまま利用することができました。
このようにして洞窟システムが空島の開発にも利用できたので、空世界の実現にも大きく役立てられました。
感想・雑感
私も、前作ブレスオブザワイルド、本作ティアーズオブザキングダムの両方をプレイしました。これらのゲームでは、このようなLoDが実装されていることはプレイしていて気づいていましたが、このように実際の設計手法を聞く機会があったのはとてもよかったですし勉強になりました。
自分たちが表現したいものに対して、根本から考え、設計し、実装してしまうのは、さすが任天堂さんだと感じました。ここまで念入りに設計されているので、いろいろこだわりつつ、しかも、開発効率も含めて考慮して進められていることがよく理解できました。